package com.yfp.operation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yfp.operation.domain.DeviceComboPlanNumDO;
import com.yfp.operation.domain.dto.ComboSalesDO;
import com.yfp.operation.domain.dto.ComboSalesDTO;
import com.yfp.operation.domain.dto.ComboSalesPositionDTO;
import com.yfp.operation.domain.vo.ComboSalesPositionVO;
import com.yfp.operation.domain.vo.PlanNumVO;

import java.util.ArrayList;
import java.util.List;

/**
* @author admin
* @description 针对表【device_combo_plan_count】的数据库操作Service
* @createDate 2024-05-14 14:21:56
*/
public interface DeviceComboPlanNumService extends IService<DeviceComboPlanNumDO> {

    void insert(DeviceComboPlanNumDO deviceComboPlanNumDO);

    void updateCount(DeviceComboPlanNumDO countDO);

    Integer getByMachineId(String machineId);

    void batchUpdate(ArrayList<DeviceComboPlanNumDO> dcpnList);

    List<PlanNumVO> getAll(String machineId);

    void insertAll(ArrayList<DeviceComboPlanNumDO> deviceComboPlanNumDOS);

    void deleteByMachineId(String machineId);

    /**
     * 获取投放记录
     * @param machineId
     * @return
     */
    List<DeviceComboPlanNumDO> getByMacineId(String machineId);

    /**
     * 获取套餐计划的套餐id种类
     * @param machineId
     * @return
     */
    List<String> getCPlanComboIds(String machineId);


    /**
     * 获取当天投放记录的最后条数据
     * @param machineId
     * @return
     */
    DeviceComboPlanNumDO getDayByMacineId(String machineId);



    /**
     * 获取当天投放记录的第一条数据
     * @param machineId
     * @return
     */
    DeviceComboPlanNumDO getDayFirstByMacineId(String machineId);

    List<ComboSalesDO> getComboSalesList(ComboSalesDTO comboSalesDTO);

    List<ComboSalesPositionVO> getComboSalesPositionList(ComboSalesPositionDTO comboSalesDTO);
}
